Golang Job: Software Development Engineer - Graduate

Job added on

Company

Amadeus

Location

Sydney - Australia

Job type

Full-Time

Golang Job Details

Job Title

Software Development Engineer - Graduate

PURPOSE OF THE ROLE

The team is in charge of developing and maintaining the Service Integrator (SI): Amadeus Enterprise Service Bus. The SI is the single entry point to Amadeus applications. Its distributed architecture enables high throughput, scalability, and availability. It routes traffic to thousands of applications servers and processes at peak over 1 000 000 transactions per second without downtime.

It connects customers to applications of all Amadeus business areas and external providers. Amadeus business areas include Distribution, Hotel IT, Airline IT, including Mission Critical applications such as the Departure Control System. External providers include Airlines, Global distribution systems, Online travel agencies, Insurance providers.

To achieve that, it supports a wide range of protocols, from industry standards Edifact services to REST/JSON APIs and provides protocol adaptation, applicative service routing, session and security management. It plays a key role in Amadeus Cloud Strategy to migrate all workloads to Microsoft Azure using Kubernetes.

The team works in close collaboration with other development centers mainly in Europe to design and implement new features. Amadeus leading presence in Asia and the component criticality make Sydney team a key asset for projects managed locally and expert support on urgent issues.

As a software development engineer, you will be working mainly using modern C++ on the SI codebase, as well as Golang for its Kubernetes operator and Python for the testing framework and tooling. You will be involved in the full Software Development Life Cycle: support of business analysts, technical design, development, testing, implementation, and support.

The main challenges ahead of us are

  • Build the communication infrastructure to migrate from a private datacenter to a multi-datacenter architecture in public cloud.

  • Maintain an excellent stability and resiliency: mission critical services cannot fail

  • Ensure compliance with latest security standards (PCI-DSS)

  • Extend the product portfolio with new protocols and features

  • Keep Enhancing the application operability with tooling from Continuous Integration to Monitoring


Main Responsibilities

  • Produce code, problem investigations, support or testing within agreed standards and timescales.

  • Write all operational and software documentation necessary for the application from a technical standpoint.

  • Conduct analysis and contribute to joint product design efforts.

  • Support the other teams involved in the SDLC: Business Analyst, Testers.

  • Contribute to SDLC tooling: Continuous integration, testing framework, deloplyment and monitoring.

  • Demonstrate initiative in contributing to problem solving, design solutions and team goals.

  • Confident in technical skills and demonstrates substantial independence in the technical area.

  • Conduct unit and package tests of the software to ensure a level of quality in line with the Amadeus guidelines.

  • Take responsibility for a component of a project or a small project.

  • Troubleshooting and 3rd level support, working together with Operations team and customer service teams.

  • Work cooperatively to achieve team goals making constructive suggestions to move things forward.

  • Build stable and useful working relationships with others outside the immediate area of work.

  • Provide trainings to other teams.

  • Proactively report progress and highlight/escalate issues and problems as necessary.

  • Coordinate a Change Request between several impacted developers, either with local or remote teams (Nice, Bangalore, etc.)

  • Provide sizing for small and medium developments.

  • Monitor and control costs related to own work.

  • Record time accurately.

  • Develop ability to solve complex problems.

  • Demonstrate competence in own area, completing own role independently or with minimal supervision / guidance.

  • Continued development of technical capability.

Relevant Work Experience

  • Significant first experience of C++ programming in a multi-threaded environment.

  • Network programming and general distributed systems knowledge are a real plus

  • Problem solving, investigation skills, distributed systems, multi-threaded programming

  • Modern C++ (required), Golang (optional), Python (optional)

  • Software development and troubleshooting on GNU/Linux

  • Technology enthusiast, optional: network programming

Diversity & Inclusion

We are an Equal Opportunity Employer and seek to hire the best candidate regardless of age, beliefs, disability, ethnicity, gender or sexual orientation.